Caching von Benutzersteuerelementen in .NET

Mittels fortschrittlichem Caching von Benutzersteuerelementen in Microsoft .NET können Anwendungsentwickler wiederverwendbare Steuerelemente erstellen, ohne die HTML-Ausgabe selber schreiben zu müssen.

Wer von Benutzersteuerelementen noch nichts gehört hat, versäumt ein leistungsfähiges Feature von ASP.NET. Benutzersteuerelemente sind Seitenfragmente, die in Webseiten eingefügt werden können wie Web-Steuerelemente. Der Unterschied besteht darin, dass Benutzersteuerelemente ihr Aussehen in Visual Studio erhalten. Das bedeutet, dass man wieder verwendbare Steuerelemente erstellen kann, ohne – wie dies bei einem Web-Steuerelement der Fall wäre – eigenen HTML-Code schreiben zu müssen.

Noch besser ist dabei, dass Benutzersteuerelemente von Haus aus Caching unterstützen, was die Performance verbessern kann, indem eine vorgerenderte Kopie der Ausgabe des Steuerelements gespeichert wird. Das bedeutet, dass das Steuerelement sogar angezeigt werden kann, ohne dass der Code ausgeführt werden muss. Dies wiederum kann die Performance erheblich steigern, besonders wenn dieselbe Information wiederholt abgerufen wird.

Wie man Benutzersteuerelemente cacht

Das Verfahren zum Cachen eines Benutzersteuerelements in .NET ist ganz einfach: Man fügt einfach eine OutputCache-Direktive am Anfang der ASCX-Datei des Benutzersteuerelements ein. Diese Direktive erfordert einen Parameter, welcher die Dauer, die das Steuerelement im Cache verbleiben soll, in Minuten angibt. Das ist an sich bereits ein äußerst nützliches Feature von ASP.NET. Aber die Funktionalität geht noch darüber hinaus, denn es ist möglich, mehrere Kopien des Steuerelements im Cache zu behalten, je nach den Parametern, die dem Steuerelement übergeben werden.

Das Attribut für die Dauer wird ergänzt durch VaryByParam, VaryByControl oder VaryByCustom. VaryByParam erzeugt unterschiedliche gecachte Kopien des Steuerelements, abhängig vom Querystring und von Formular-Post-Variablen, die für das Formular bereitgestellt werden. Das Attribut VaryByControl ermöglicht die Eingabe eines Strings, der verwendet wird, um die Kopien des Steuerelements im Cache zu unterscheiden. Das Attribut VaryByCustom veranlasst ASP.NET zum Aufruf von HttpApplication.GetVaryByCustomString, um den String, der zur Unterscheidung der gecachten Kopien des Steuerelements verwendet wird, zurückzugeben.

Eine OutputCache-Direktive ohne variierende Parameter sieht wie folgt aus:


Eine einfache Möglichkeit zum Testen der Direktive besteht darin, ein Benutzersteuerelement zu erstellen, welches die aktuelle Zeit anzeigt, dieses in zwei verschiedene Steuerelemente zu kopieren und eines davon mit OutputCache zu versehen. Man kann dann eine Seite erstellen, die beide Steuerelemente enthält. Falls eines von ihnen beim erneuten Laden der Seite die Uhrzeit nicht aktualisiert, weiß man, dass es im Cache zwischengespeichert wurde.

Das Variieren nach Parametern funktioniert prima, wenn die Parameter aus einem Querystring stammen. Ist dies nicht der Fall, funktioniert die Methode nicht.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Caching von Benutzersteuerelementen in .NET

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *